home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2000 / MacHack 2000.toast / pc / The Hacks / Softshoe / Lisa's Mac Parts / Activation / ActivationLink.h < prev    next >
Text File  |  2000-06-23  |  743b  |  43 lines

  1. // ActivationLink.h
  2.  
  3. #ifndef ActivationLink_h
  4. #define ActivationLink_h
  5.  
  6. #ifndef Activator_h
  7. #include "Activator.h"
  8. #endif
  9.  
  10. template < class Target >
  11. class ActivationLink: public Activator
  12.   {
  13.     private:
  14.         Target& target;
  15.         void (Target::*activate)();
  16.         void (Target::*deactivate)();
  17.     
  18.     public:
  19.         ActivationLink( Focus& focus,
  20.                              Target& theTarget,
  21.                              void (Target::*activator)(),
  22.                              void (Target::*deactivator)() )
  23.           : Activator( focus ),
  24.              target( theTarget ),
  25.              activate( activator ),
  26.              deactivate( deactivator )
  27.           {}
  28.         
  29.         virtual void Activate()
  30.           {
  31.             if ( activate != 0 )
  32.                 (this->*activate)();
  33.           }
  34.         
  35.         virtual void Deactivate()
  36.           {
  37.             if ( deactivate != 0 )
  38.                 (this->*deactivate)();
  39.           }
  40.   };
  41.  
  42. #endif
  43.